1. Field of the Invention
The present invention relates to a server, a client, a client server system, a method for controlling them, and a storage medium therefor.
In particular, this invention relates to a server, a client, a client server system, a method for controlling them, and a storage medium therefor wherein the safety of the server is maintained when a request from the client is embedded into the server.
In addition, this invention relates to a server, a client, a client server system, a method for controlling them, and a storage medium therefor wherein the safety of the server is also maintained when a request from the client is executed.
2. Related Background Art
There are conventionally various client server systems, and in each system, a server provides services to a client.
For example, in an E-mail (hereafter simply referred to as a xe2x80x9cmailxe2x80x9d) system, in case of transmitting a mail, a mail made on a client machine is sent to a mail server according to a mail protocol such as SMTP (Simple Mail Transfer Protocol).
The mail server sees the destination of the mail to determine the address of a mail server to which a receiver belongs in order to send the mail to this mail server.
Upon receiving the mail, the mail server places the mail in a spool for the receiver. When the receiver uses, for example, the POP3 protocol to access the mail server in order to check the received mail, the mail server obtains the mail from the spool to transmit it to the receiver""s client machine.
Such a mail system provides various mail services in addition to mail transmissions and receptions. A filtering function for saving mails to different mail boxes depending on the contents or types of the mail and rejecting the mail reception depending on the mail sender is important to, for example, users who receive a large amount of mails per day.
This filtering function is conventionally executed by a mail application on the client side or is implemented by the mail server executing a filtering program on all mails or mails concerning selected mail addresses.
The realization of the filtering function of the conventional mail system, however, had the following problems. That is, if a mail application executed filtering, even an unwanted mail that was to be deleted remained in the spool on the mail server until the user accessed the mail to shift it to the client machine. Consequently, the disc capacity on the mail server was consumed.
In addition, even with common filtering processing that many users desire to set, settings are required on the mail application of each client.
If a filter program embedded in the mail server carries out filtering, only the supervisor having a supervisor privilege can normally incorporate the filter program into the mail server, whereas users are not free to do so. Even if the supervisor performs this operation, the supervisor""s burdens increase.
Furthermore, various filter programs are required to meet users"" diverse requirements. Thus, the stability and safety of the filter program cannot be easily maintained, so the stability of the mail system may be degraded.
In addition, as another example of a client server system, the World Wide Web (hereafter referred to as xe2x80x9cWWWxe2x80x9d) system allows a Web browser acting as a client to access a Web server through the Hyper Text Transfer Protocol (hereafter referred to as xe2x80x9cHTTPxe2x80x9d) in order to obtain pages described using the Hyper Text Markup Language (hereafter referred to as xe2x80x9cHTMLxe2x80x9d) on the Web server. The Web browser can then interpret the contents of the pages to display them on the screen of the client machine.
The WWW system is globally popular, and its powerful link mechanism provides simple accesses to Web servers throughout the world.
On the other hand, the ability to simply access Web servers to display information on the screen has made new problems. For example, children must be protected from harmful information.
Conventionally, to deal with this problem, the Web server transmitted a web page with a note indicating that this was harmful information, or a supervisor registered pages for harmful information in a proxy server to allow the indication of such pages to be determined, or the user registered pages for harmful information in the Web browser to allow the indication of such pages to be determined.
However, in order to recognize harmful pages using the Web browser, a recognition mechanism must be embedded in the Web browser. Criteria with which to determine that the information is harmful vary with the age or trend, so the recognition mechanism must be constantly updated. It takes a large amount of time and labor for individual Web browsers to perform update operations.
In addition, if the proxy server recognizes harmful pages, the supervisor must register such pages depending on individual users"" requirements, requiring a large amount of time and labor. In addition, if the Web server limits the obtention of pages and if no user recognition mechanism according to HTTP is used, the client machine can be identified whereas the user using the client machine cannot be identified, so harmful information may not be eliminated appropriately.
A user approval mechanism according to HTTP enables the user to be approved, but to achieve this requires this mechanism to be enabled on the Web server. Harmful-information senders rarely enable the user to approve, the fact that may reduce the information access frequency, so this is neither effective means.
As described above, despite its ability to execute processing according to a certain protocol, the conventional client server system cannot appropriately implement more flexible functions and services that attentively meet users"" needs.
Extension of the protocol may enable some of these services to be implemented, but such extension must be very large in order to meet users"" diverse requests and it is difficult to create a server program that can cope with all extended portions. In addition, there is a problem that such a server program is not compatible with conventional server programs.
It is thus an object of the present invention to provide a server, a client, a client server system, a method for controlling them, and a storage medium therefor wherein the server can safely execute a request from the client.
In particular, it is an object of this invention to provide a server, a client, a client server system, a method for controlling them, and a storage medium therefor wherein before providing a service to the client, the server publishes part of its information and functionality to the client so that the client can create a request for a service based on the published information and so that the server can then safely execute the request.
To attain these objects, this invention has the following configuration.
A server according to this invention is characterized by comprising:
request receiving means for receiving a request from a client;
judging means for determining whether the request received by the request receive means is invalid;
embedding means for embedding the request that has not been determined to be invalid into processing executed by the server; and
executing means for executing the processing into which the request has been embedded by the embedding means.
The judging means is preferably characterized in that before executing the processing into which the request has been embedded, the judging means redetermines Whether the request is invalid.
The server is preferably characterized by further comprising information transmitting means for transmitting the predetermined information from the server to the client.
The server is preferably characterized in that:
the request receiving means receives as the request a request program in a program form, in that:
the judging means determines whether the received request program is invalid, and in that:
the embedding means embeds the request program that has not been determined to be invalid into the processing executed by the server.
The server is preferably characterized in that it further comprises a program making means for making a request program based on the request, and in that:
the embedding means embeds the request program made by the program making means into the processing executed by the server.
In addition, a client according to this invention is characterized by comprising:
information receive means for receiving the predetermined information from the server;
request making means for making a request based on the predetermined information from the server; and
request transmitting means for transmitting the made request to the server.
The client is preferably characterized in that:
the request making means makes a request program as the request, and in that:
the request transmitting means transmits the request program as the request.
In addition, a client server system according to this invention comprising a server and a client is characterized in that:
the server comprises:
information transmitting means for transmitting predetermined information from the server to the client;
request receiving means for receiving a request from the client;
judging means for determining whether the request received by the request receiving means is invalid;
embedding means for embedding the request that has not been determined to be invalid into the processing executed by the server; and
executing means for executing the processing into which the request has been embedded by the embedding means, and in that the client comprises:
information receiving means for receiving predetermined information from the server;
request making means for making a request based on the predetermined information from the server; and
request transmitting means for transmitting the made request to the server.
The system is preferably characterized in that before executing the processing into which the request has been embedded, the judging means re-determines whether the request is invalid.
Preferably, the client is characterized in that:
the request making means makes a request program as the request, and in that:
the request transmitting means transmits the request program as the request, and the server is characterized in that:
the request receiving means receives the request program:
the judging means determines whether the received request program is invalid, and in that:
the embedding means embeds the request program that has not been determined to be invalid into the processing executed by the server.
The system is preferably characterized in that the server further comprises a program making means for making a request program based on the request from the client, and in that:
the embedding means embeds the request program made by the program making means into the processing executed by the server.
Although the means configurating the server, the client, and the client server system have been described, an information processing apparatus or an operation system may be responsible for part or all of the above configuration. This invention also includes a server controlling method, a client controlling method, and a client server controlling method that are achieved by steps similar to the above means, as well as a storage medium recording programs for these steps thereon.
In addition, according to this invention, the server determines whether a request from the client is invalid, so the server and the system can be safely operated to reduce a supervisor""s burdens. In addition, since the request from the client which has not been determined to be invalid is embedded into the processing executed by the server, more flexible functions and services that attentively meet users"" needs can be implemented to significantly extend the functions of the server and system.
In addition, at the time of executing the processing into which the request has been embedded, it is determined whether the request is invalid, so the server and the system can be safely operated even if the request that was determined to be safe upon embedding is re-determined to be harmful upon execution.
In addition, since the server transmits to the client predetermined information such as the server""s application interface and the client makes a request based on the server""s predetermined information, the protocol for the conventional client server system does not need to be extended, so this invention is highly compatible with the conventional system. Only the function must be added for publishing an interface that is information such as the conventional server""s functions and embedding and effectuating a request, so this invention can collaboratively and harmoniously operate with the conventional server have high affinity and hold high processing capabilities.
In addition, since the client makes a request program and transmits it to the server, which then embeds it into processing, the server does not need to create a request program, thereby saving the server""s burdens.
In addition, if the server makes a request program based on a request from the client, the request program is not transmitted from the client to the server through a network, thereby preventing the program from being plagialized, altered, or disguised. This configuration also eliminates the need to check the syntax of the program.
In addition, the request embedded into the processing executed by the server can be deleted based on an instruction from the client to enable arbitrary deletion for the client""s convenience, thereby improving usefulness.
In addition, the client can inquire for the request embedded in to the processing executed by the server to check what request is being executed by the server.
The other objects and advantages of this invention will be apparent from the following detailed description, accompanying drawings and claims.